package com.zhentao.vo;

import lombok.Data;

import java.util.List;

/**
 * 参数分类树形结构VO - 用于前端树形组件展示
 * @author zhentao
 * @date 2024-12-19
 */
@Data
public class ParamCategoryTreeVO {
    
    /**
     * 分类ID
     */
    private Long id;
    
    /**
     * 分类编码
     */
    private String code;
    
    /**
     * 分类名称
     */
    private String name;
    
    /**
     * 分类标签（显示名称 + 统计信息）
     */
    private String label;
    
    /**
     * 父分类ID
     */
    private Long parentId;
    
    /**
     * 分类层级
     */
    private Integer level;
    
    /**
     * 排序字段
     */
    private Integer sortOrder;
    
    /**
     * 状态：1-启用，0-禁用
     */
    private Integer status;
    
    /**
     * 子分类数量
     */
    private Integer childCount = 0;
    
    /**
     * 该分类下的参数数量
     */
    private Integer paramCount = 0;
    
    /**
     * 是否为叶子节点
     */
    private Boolean isLeaf = false;
    
    /**
     * 是否可选择（用于前端选择器）
     */
    private Boolean selectable = true;
    
    /**
     * 是否展开
     */
    private Boolean expanded = false;
    
    /**
     * 图标（可选）
     */
    private String icon;
    
    /**
     * 子分类列表
     */
    private List<ParamCategoryTreeVO> children;
}

